package com.ztgf.logistics.models.dto.deppon;

import com.baomidou.mybatisplus.annotations.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;

import com.ztgf.common.dto.BaseDTO;

/**
 * 物流订单表DTO
 *
 * @author mxli
 * @Date 2021-09-13 22:15:56
 */
@Data
@TableName("logistics_order")
@ApiModel(value="物流订单表对象", description="物流订单表对象")
public class LogisticsOrderDTO extends BaseDTO implements Serializable {

    @ApiModelProperty(value = "乐观锁")
    private Integer revision;
    @ApiModelProperty(value = "创建人")
    private Long createUserId;
    @ApiModelProperty(value = "操作人名字")
    private String createUserName;
    @ApiModelProperty(value = "更新人")
    private Long updateUserId;
    @ApiModelProperty(value = "店铺id")
    private Long shopId;
    @ApiModelProperty(value = "公司名称")
    private String shopName;
    @ApiModelProperty(value = "渠道单号：由第三方接入商产生的订单号（生成规则为sign+数字，sign值由双方约定），注意：同一票子母件（一票多货），logisticid必须要保持一致")
    private String logisticId;
    @ApiModelProperty(value = "发货物流主键id")
    private Long businessId;
    @ApiModelProperty(value = "客户的订单号Id")
    private Long custOrderId;
    @ApiModelProperty(value = "客户的订单号")
    private String custOrderNo;
    @ApiModelProperty(value = "客户订单号类型：0普通、1订单、2发票、3售后、4平台发票")
    private Integer custOrderNoType;
    @ApiModelProperty(value = "发货类型：0全部发货、1分批发货")
    private Integer senderOrderType;
    @ApiModelProperty(value = "运单号：返回运单号集合（多个运单号以逗号分割）")
    private String mailNo;
    @ApiModelProperty(value = "订单提交时间：系统当前时间,格式为 yyyy-MM-dd HH:mm:ss 如 2020-11-07 18:44:19")
    private String gmtCommit;
    @ApiModelProperty(value = "支付方式：0、发货人付款（现付）（大客户模式不支持寄付） 1、收货人付款（到付） 2、发货人付款（月结）")
    private String payType;
    @ApiModelProperty(value = "状态更新时间")
    private String gmtUpdated;
    @ApiModelProperty(value = "ACCEPT已受理，CANCEL已取消，FAILGOT揽货失败，GOBACK已退回，GOT已开单，INVALID已作废，RECEIPTING接货中，REJECT已拒绝，SHOUTCAR已约车，SIGNFAILED异常签收，SIGNSUCCESS正常签收")
    private String statusType;
    @ApiModelProperty(value = "反馈原因:“接货中”状态时，此字段推送快递员姓名和电话；")
    private String comments;
    @ApiModelProperty(value = "总价格：单位：元")
    private BigDecimal totalPrice;
    @ApiModelProperty(value = "总预算金额：单位：元")
    private BigDecimal totalBudgetPrice;
    @ApiModelProperty(value = "已出账单金额：单位：元")
    private BigDecimal billPrice;
    @ApiModelProperty(value = "账单状态：0未出账单，1已出账单")
    private Integer billStatus;
    @ApiModelProperty(value = "收货人名称")
    private String receiverName;
    @ApiModelProperty(value = "发货人名称")
    private String senderName;
    @ApiModelProperty(value = "订单类型：0现结，1月结")
    private Integer type;
    @ApiModelProperty(value = "用户类型：0普通用户，1平台管理员账号")
    private Integer userType;
    @ApiModelProperty(value = "售后用户类型：0买家，1卖家")
    private Integer afterSaleUserType;

    @ApiModelProperty(value = "用户金额实际扣款状态：0未扣款，1已扣款、2已退款")
    private Integer totalPriceStatus;
    @ApiModelProperty(value = "插入时的参数")
    private String content;
}
